With the aid of non-volatile, readable, electrically programmable semiconductor storage elements, such as MNOS transistors or floating-gate transistors, it is possible for information which is changed from time to time, to be electrically stored such that in the event of a supply voltage failure, the information is maintained. Examples of storage cells employing such electrically programmable semiconductor components are disclosed in the German Auslegungsschriften (DE-AS) Nos. 24 42 131, 24 42 132 and 24 42 134.
One of the most simple examples relating to a counter for non-volatile storage is a mechanical counter, as is used, for example, as an operating-hours meter (power-on time meter) or mileage indicator. Such a counter can be regarded as a storage device for an n-bit digital word.
When such a mechanical counter is designed in the form of a binary counter, as an electronic equivalent, the counter must have at least k cells in order to be able to count from 0 to 2.sup.k -1. Additionally, each of the storage cells of this counter would have to contain at least one non-volatile, electrically programmable storage element if the counter reading is to be maintained during or following times when the operating voltage supply has been removed or turned off. The term programmable refers to writing a logical one or a logical zero into the storage element.
Non-volatile, readable semiconductor storage elements, such as MNOS field-effect transistors or alternately field-effect transistors with a gate electrode floating with respect to a potential, are known to have the property that the storage capability thereof decreases as the number of programming operations increases, with this being referred to as a degradation. As a result, only a limited number of programming cycles is possible. When such non-volatile storage elements are used in a counter, each incoming counting pulse requires that the storage elements have logical ones or zeros written therein in accordance with the code or counting sequence of the counter. Because the above noted non-volatile storage elements can be written into or erased only a limited number of times, a problem may be encountered if a binary counter having a larger number of stages or bits is to be implemented therewith. The problem is due to the fact that in the binary counting sequence, the least significant bits change much more often than do the most significant bits. Thus, the number of times a given non-volatile storage element an be written into imposes an upper limit on the size of the binary number that can be stored in a binary counter formed with such elements.
A simple binary counter employing electrically programmable semiconductor storage cells, with respect to the aforementioned degradation of the programmable storage elements, has the following two disadvantages:
(a) because of the binary code, the number of programming steps is higher than the number of counting steps. When a carry occurs, at least two stages have to change their contents; altogether, the number programming steps is approximately twice as high as that of the counting steps;
(b) the least significant bit (LSB) is most often programmed. At every counting step the least significant bit must change state. This alone determines the maximum number to be stored.